home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
compuserve-file-archive
/
05 Programming
/
CDT128.ARC
/
DBUG.H
< prev
next >
Wrap
Text File
|
2019-04-13
|
5KB
|
147 lines
/***********************************************************************/
/***********************************************************************/
/* */
/* ╘HIS PROGRAM IS COPYRIGHT 1986 BY ┴LAN ┘ORINKS. ╔T MAY BE FREELY */
/* DISTRIBUTED FOR NON COMMERCIAL USAGE IF THIS COPYRIGHT NOTICE IS */
/* LEFT INTACT. ├OMMERCIAL USAGE OF THIS PROGRAM IS EXPLICITLY */
/* FORBIDDEN WITHOUT THE WRITTEN PERMISSION OF THE AUTHOR. */
/* */
/***********************************************************************/
/***********************************************************************/
/* CDT VERSION 1.0 PART 1 OF 15 ╩ULY 25, 1986 */
/***********************************************************************/
/* */
/* ╘HE FOLLOWING IS A LIST OF ALL THE PARTS NEEDED TO BUILD CDT: */
/* */
/* 0. STDIO.H */
/* 1. DBUG.H */
/* 2. CDT.C */
/* 3. GETARGS.C */
/* 4. PRñUSAGE.C */
/* 5. CONV.C */
/* 6. BYTEñSTRNG.C */
/* 7. PAGER.C */
/* 8. OPCDñTBL.C */
/* 9. DUMP.C */
/* 10. READ.C */
/* 11. WRITE.C */
/* 12. FIND.C */
/* 13. DASMBL.C */
/* 14. CDT.L */
/* */
/***********************************************************************/
/* CDT GLOBAL HEADER FILE */
/* DEFINITIONS */
#DEFINE ╘╥╒┼ 1
#DEFINE ╞┴╠╙┼ 0
#DEFINE ═╔╬┴╥╟ 2 /* MINIMUM VALUE OF ARGC LEGALLY ALLOWED */
#DEFINE ┴─╥╠┼╬ 4 /* MAXIMUM NUMBER OF ASCII CHARS FOR ADDR*/
#DEFINE ┬┘╘┼╠┼╬ 2 /* MAXIMUM NUMBER OF ASCII CHAR PER BYTE */
#DEFINE ╙╘╥╠┼╬ 16 /* LARGEST # OF BYTES ACCEPTED FOR FIND */
/* MACRO DEFINITIONS TO ALLEVIATE FINGER FATIGUE */
#DEFINE ┴──╥(╪) ALLARG.╪.ADDR
#DEFINE ╙┴──╥(╪) ALLARG.╪.SADDR
#DEFINE ┼┴──╥(╪) ALLARG.╪.EADDR
#DEFINE ┬┴╬╦(╪) ALLARG.╪.BANK
#DEFINE ╙╘╥╔╬╟(╪) ALLARG.╪.STRING
#DEFINE ┬┘╘┼(╪) ALLARG.╪.BYTE
/* DEFINITIONS FOR GETARGS */
#DEFINE ─╒═╨ 1
#DEFINE ╞╔╬─ 2
#DEFINE ╥┼┴─ 3
#DEFINE ╫╥╔╘┼ 4
#DEFINE ─┴╙═┬╠ 5
/* ERROR DEFINITIONS */
#DEFINE ┴╥╟┼╥╥ 10 /* RETURN VALUE FROM GETARGS IF ERROR ENCOUNTERED */
/* DISASSEMBLER ADDRESS MODE DEFINES */
#DEFINE ╔══ '0'
#DEFINE ┴┬╙ '1'
#DEFINE ┴┬╙╪ '2'
#DEFINE ┴┬╙┘ '3'
#DEFINE ┌╨ '4'
#DEFINE ┌╨╪ '5'
#DEFINE ┌╨┘ '6'
#DEFINE ╔╬─ '7'
#DEFINE ╔╬─╪ '8'
#DEFINE ╔╬─┘ '9'
#DEFINE ╥┼╠ 'A'
#DEFINE ┴├├ 'B'
#DEFINE ╬╧╬┼ 'C'
/* COMMAND ARGUMENT STRUCTURES */
/* PROVIDES A CONVENIENT WAY TO PASS PARAMETERS */
UNION ARGS
█
STRUCT DñARGS /* DUMP ARGUMENTS */
█
CHAR *SADDR ; /* START ADDRESS */
CHAR *EADDR ; /* END ADDRESS */
INT BANK ; /* MEMORY BANK 0-15 */
▌ DSDMP ;
STRUCT FñARGS
█
CHAR *SADDR ;
CHAR *EADDR ;
INT BANK ;
CHAR STRING[16] ; /* CHARACTER OR BYTE STRING */
▌ FND ;
STRUCT RñARGS
█
CHAR *ADDR ;
INT BANK ;
▌ RDBYTE ;
STRUCT WñARGS
█
CHAR *ADDR ;
CHAR BYTE ;
INT BANK ;
▌ WRTBYTE ;
▌ ALLARG ;
/* TYPEDEFS */
TYPEDEF UNION ARGS ┴╥╟╙ ;
TYPEDEF UNSIGNED ╒╔╬╘ ;
TYPEDEF INT VOID ;
/* CONDITIONAL COMPILE SWITCHES */
/* ONLY ONE CAN BE ACTIVE */
/* COMMODORE 128 80 COLUMN MODE */
/* #DEFINE ├╧╠80 1 */
/* COMMODORE 64 MODE */
/* #DEFINE ├64 2 */
#DEFINE ├64 2
#DEFINE ╨┼┼╦(┴) *( (CHAR*)┴ )
#DEFINE ╨╧╦┼(┴) *( (CHAR*)┴ ) = ╓